﻿module EventEditor
  module Route
    class MoveDialog
     def self.show(base, &func)
        dialog = Gtk::Dialog.new("Move Dialog",
               base,
               Gtk::Dialog::MODAL |
               Gtk::Dialog::DESTROY_WITH_PARENT,
               ["OK", Gtk::Dialog::RESPONSE_OK],
               ["Cancel", Gtk::Dialog::RESPONSE_CANCEL]
               )

        dialog.vbox.add(self.create_panel)
        dialog.vbox.show_all

        # run
        dialog.run do |response|
          if response == Gtk::Dialog::RESPONSE_OK
            func.call(wait_input.value.floor)
          else
            func.call(:cancel)
          end
          dialog.destroy
        end
      end

      def self.create_panel
        vbox = Gtk::VBox.new
        box = Gtk::HBox.new
        box.add(Gtk::Button.new('\\'))
        box.add(Gtk::Button.new('-'))
        box.add(Gtk::Button.new('/'))
        vbox.add(box)
        box = Gtk::HBox.new
        box.add(Gtk::Button.new('-'))
        box.add(Gtk::Button.new(''))
        box.add(Gtk::Button.new('-'))
        vbox.add(box)
        box = Gtk::HBox.new
        box.add(Gtk::Button.new('/'))
        box.add(Gtk::Button.new('-'))
        box.add(Gtk::Button.new('\\'))
        vbox.add(box)
        
        hbox.add(@count = Gtk::SpinButton.new(0, 99, 1))
        hbox.add(Gtk::Label.new('grids'))
        
        vbox.add(hbox)

        return vbox
      end
      
      def self.command_to_s(args)
        return "MoveWait = #{args[1]}"
      end
    end
  end
end